<?php
if(!defined('InDesign')) exit('Access Denied');

class db {
    static $db;
    function query() {
        self::$db->call('query', func_get_args());
        if($errormsg=self::$db->get('errormsg')){
            print_d($errormsg, 'MySQL Error');
        }
    }
    function queryf() {
        self::$db->call('queryf', func_get_args());
        if($errormsg=self::$db->get('errormsg')){
            print_d($errormsg, 'MySQL Error');
        }
    }
    function get($name) {
        self::$db->get($name);
    }
    function get_one() {
        self::$db->call('fetch_one', func_get_args());
        if($errormsg=self::$db->get('errormsg')){
            print_d($errormsg, 'MySQL Error');
        }
    }
    function fetch() {
        self::$db->call('fetch', func_get_args());
        if($errormsg=self::$db->get('errormsg')){
            print_d($errormsg, 'MySQL Error');
        }
    }
    function result() {
        self::$db->call('result', func_get_args());
        if($errormsg=self::$db->get('errormsg')){
            print_d($errormsg, 'MySQL Error');
        }
    }
    function Initialize($dbdata) {
        if(!in_array($dbdata['engine'], array('mysql', 'mysqli', 'mysqlnd'))){
            show_error('not_supported_engine_name');
        }
        MVCROOT::loadModel('database/'.$dbdata['engine']);

        $enginename='db_'.$dbdata['engine'];
        $db=new $enginename;
        $db->Initialize($dbdata['host'], $dbdata['user'], $dbdata['pass'], $dbdata['base'], $dbdata['tablepre']);
        self::$db=$db;
    }
}